/**
 * 将form里面的内容序列化成json
 * 相同的checkbox用分号拼接起来
 * @param {dom} 指定的选择器
 * @param {obj} 需要拼接在后面的json对象
 * @method serializeJson
 * */
$.fn.serializeJson=function(otherString){
    var serializeObj={},
        array=this.serializeArray();
    $(array).each(function(){
        // if(this.value){
            if(serializeObj[this.name]){
                serializeObj[this.name]+=';'+this.value;
            }else{
                serializeObj[this.name]=this.value;
            }
        // }
    });
debugger
    if(otherString!=undefined){
        var otherArray = otherString.split(';');
        $(otherArray).each(function(){
            var otherSplitArray = this.split(':');
            // if(otherSplitArray[1]&&otherSplitArray[1]!=''){
                serializeObj[otherSplitArray[0]]=otherSplitArray[1];
            // }
        });
    }
    return serializeObj;
};
/**
 * 将josn对象赋值给form
 * @param {dom} 指定的选择器
 * @param {obj} 需要给form赋值的json对象
 * @method serializeJson
 * */
$.fn.setForm = function(jsonValue){
    var obj = this;
    $.each(jsonValue,function(name,ival){
        var $oinput = obj.find("input[name="+name+"]");
        if($oinput.attr("type")=="checkbox"){
            if(ival !== null){
                var checkboxObj = $("[name="+name+"]");
                var checkArray = ival.split(";");
                for(var i=0;i<checkboxObj.length;i++){
                    for(var j=0;j<checkArray.length;j++){
                        if(checkboxObj[i].value == checkArray[j]){
                            checkboxObj[i].click();
                        }
                    }
                }
            }
        }
        else if($oinput.attr("type")=="radio"){
            $oinput.each(function(){
                var radioObj = $("[name="+name+"]");
                for(var i=0;i<radioObj.length;i++){
                    if(radioObj[i].value == ival){
                        radioObj[i].click();
                    }
                }
            });
        }
        else if($oinput.attr("type")=="textarea"){
            obj.find("[name="+name+"]").html(ival);
        }
        else{
            obj.find("[name="+name+"]").val(ival);
        }
    })
}
/**
 * 初始化下拉选
 * type 格式 "washCarOrder_serverType" 实体类名+'_'+字段名
 */
function initSelect(type,fn) {
    // debugger
    var idx=type.indexOf("_");
    if(type.length<=3||idx==-1){
        return;
    }
    var params={
    type:type   //"washCarOrder_serverType"
    };
    var selectId=type.substring(idx+1);
    $.post('dict/dict/findDictsForSelect.do', params,function (result) {
        if (result && result.code == 0) {
            for (var opt in result.data) {
                if(!!result.data[opt].value || result.data[opt].value==0){
                    $("#"+selectId+"_selectId").append(
                        '<option value="' + result.data[opt].value + '" class="l-lab-text">' + result.data[opt].label + '</option>'
                    )
                }else {
                     // result.data.splice(opt,1);
                }
            }
            //保存字典
            $("#"+selectId+"_selectId").data(selectId+"_selectId",result.data);
        } else {
            top.myLayer.confirm(top._loadText('Fail '+result.msg));
        }
        if(typeof fn == "function"){
            fn();
        }
        layui.use(['element','form'], function () {
            var element = layui.element;
            // element.init();
            var form=layui.form;
            // form.render(); //更新全部
            form.render('select'); //刷新select选择框渲染
//             element.init('breadcrumb');
//             element.render('nav');
//             element.render('tab');
//             //…
        });
    })
}
/**
 * 批量初始化下拉选
 */
function initBatchSelect(types,fn) {
    if(!types&&types.length==0){
        if(typeof fn == "function"){
            fn();
        }
        return;
    }
    for(var i in types){
        if(i!=types.length-1){
            initSelect(types[i],null);
        }else {
            initSelect(types[i],fn);
        }
    }

}
/**
 * 批量初始化日期控件
 */
function initBatchDate(laydate,ids,type) {
    for(var i in ids){
        var dateTime  = formatDate(new Date());
        if(ids[i].toUpperCase().indexOf("start")!=-1||ids[i].toLowerCase().indexOf("beg")!=-1){
            dateTime = dateTime +" 00:00:00";
        }else if(ids[i].toLowerCase().indexOf("end")!=-1){
            dateTime = dateTime +" 23:59:59";
        }else {
            dateTime = dateTime +" 00:00:00";
        }
        dateTime = new Date(Date.parse(dateTime.replace(/-/g, "/")));//.format('yyyy-MM-dd hh:mm:ss');
        //日期时间选择器
        laydate.render({
            elem: '#'+ids[i],
            type: type?type:'datetime',
            value:dateTime,
            // range: true,
            lang: $._lang //控制语言
        });
    }

}